The present disclosure relates generally to techniques for data transfer in a communication network, and relates more particularly to systems and methods for transparent communication between a client and a server with reduced bandwidth usage and HTTP caching.
Communication networks, including packet switched networks such as those that may operate with the Internet Protocol (IP), transfer packetized data over links that are established between nodes of the network. The links typically have bandwidth limitations for carrying data traffic that may be based on a number of factors, including physical limitations of a node or physical characteristics of a link, a volume of data traffic, quality of service, and other factors that may contribute to determining the throughput of a giving link or node in the network. Various techniques have been employed to attempt to increase available bandwidth, including data compression and bandwidth saving techniques that may be implemented in accordance with specific protocols that may attempt to limit the amount of data in a data transfer. Sometimes, equipment can be upgraded to have faster speeds, however the issue of bandwidth limitations is a constant design challenge for network engineers.
A typical network configuration for communicating data in a communication network involves the implementation of a client-server model. In such a model, a server receives and processes requests from the client and provides data to the client in response to the requests. Based on implementations of this model, one technique that can be used to reduce bandwidth usage is to implement an HTTP proxy cache at a location that is physically near to the client that is sending HTTP requests to the server. The HTTP proxy cache can store data in a location that is near the HTTP client to avoid significant amounts of data transfers over network links that have limited bandwidth. By storing data, such as media files that tend to be relatively large in size, at the HTTP proxy cache, transmission of large amounts of data over the communication network can be avoided, thereby conserving bandwidth in the communication network.
Requests by the HTTP client are received by the HTTP proxy cache, which retrieves the requested information from local storage, such as a proxy cache database, and provides the data to the HTTP client without having to forward the client request or retrieve data from other sources in the communication network. HTTP requests from the client are not passed on to remote network resources, such as media data file servers. Thus, the HTTP requests from the client terminate at the HTTP proxy cache, which responds to the client requests as a communication network endpoint.
The use of an HTTP proxy cache as described above has several main drawbacks. For example, since not all requests from the client reach the remote target server, processing that is ordinarily performed at the server is omitted. Without such processing at the server, the HTTP proxy cache may be made responsible for implementing important processes, such as copyright and digital rights management, such as may be dictated by the Digital Millennium Copyright Act, or other regulatory requirements for deploying copyright content within or outside of the United States. In addition, the server may implement application logic that relies on receiving client requests to operate properly. For example, the server may implement authorization and/or authentication logic, provide advertising content or license requirements that relies on user interaction for acceptance. Moreover, the server may implement application logic that relies on receipt of a client's request to accommodate billing or accounting practices with regard to content usage.
Another drawback of the proxy cache solution for conserving bandwidth concerns core cellular networks that may be used by a client for web browsing. The web browsing information may be provided to the user through a proxy cache, over a particular route that depends on the user's location in relation to cell towers. If the user changes location, the route taken by the web browsing information through the core cellular network may change. In such an event, the TCP connection is typically torn down, which may cause the user to loose their browsing session, which is typically restarted to continue web browsing.